// 遵循模式匹配原则
// 变量与属性同名
// let {name,age}={name:'hello',age:'world'};
// console.log(name,age);

// 变量与属性不同名 变量重命名
// let {foo:baz}={foo:'hello',bar:'world'};
// console.log(baz);

// 嵌套结构
// let obj={p:['hello',{y:'world'}]};
// 层层解构
// let {p:[a,{y}]}=obj;
// console.log(a,y);

// 默认值解构、
// let {x:y=3}={};
// console.log(y);

const [a, b, c, ...d] = [1, 2, 3, 11, 999];
const { e, f,f1, g, ...h } = { f: 4, g: 5, i: 6, j: 7 };
console.log(a, b, c, d, e, f1, g, h);